Some Measurements of Nullable and Non-Nullable Parameter Declarations in Relation to Software Malleability

نویسندگان

  • William Harrison
  • Tim Walsh
  • Paul Biggar
چکیده

The usual advantages put forward for including nullability declarations in the type systems of programming languages are that they improve program reliability or performance. But there is another, entirely different, reason for doing so. In the right context, this information enables the software artifacts we produce, the objects and methods, to exhibit much greater malleability. For declaratively typed languages, we can obtain greater software malleability by extending the model of method call so that assurance of a method’s availability can be provided by any non-nullable parameter, not simply the target parameter, and by allowing the method’s implementation to reside in classes or objects other than the target.. This paper examines the question of whether this hypothetical improvement in software malleability is consistent with existing programming practice by examining the question of the extent to which methods in existing software have multiplicities of non-nullable parameters. The circumstance occurs frequently enough to provide an important reason to introduce declarations of nullability into programming languages.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Reducing the use of nullable types through non-null by default and monotonic non-null

With Java 5 annotations, we note a marked increase in tools that can statically detect potential null dereferences. To be effective such tools require that developers annotate declarations with nullity modifiers and have annotated API libraries. Unfortunately, in our experience specifying moderately large code bases, the use of non-null annotations is more labor intensive than it should be. Mot...

متن کامل

To CNF or not to CNF? An Efficient Yet Presentable Version of the CYK Algorithm

The most familiar algorithm to decide the membership problem for context-free grammars is the one by Cocke, Younger and Kasami (CYK) using grammars in Chomsky normal form (CNF). We propose to teach a simple modification of the CYK algorithm that uses grammars in a much less restrictive binary normal form (2NF) and two precomputations: the set of nullable nonterminals and the inverse of the unit...

متن کامل

Circular Reference Attributed Grammars - Their Evaluation and Applications

This paper presents a combination of Reference Attributed Grammars (RAGs) and Circular Attribute Grammars (CAGs). While RAGs allow the direct and easy specification of non-locally dependent information, CAGs allow iterative fixed-point computations to be expressed directly using recursive (circular) equations. We demonstrate how the combined formalism, Circular Reference Attributed Grammars (CR...

متن کامل

Report on the Experimental Language X 10 DRAFT

break case catch class const continue default do else extends final finally for goto if implements import instanceof interface native new package private protected public return static super switch this throw throws try void while (Note that the primitive types are no longer considered keywords.) X10 introduces the following keywords: activitylocal async ateach atomic await clocked current fore...

متن کامل

Generalised LR parsing algorithms

This thesis concerns the parsing of context-free grammars. A parser is a tool, defined for a specific grammar, that constructs a syntactic representation of an input string and determines if the string is grammatically correct or not. An algorithm that is capable of parsing any context-free grammar is called a generalised (contextfree) parser. This thesis is devoted to the theoretical analysis ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/1108.4816  شماره 

صفحات  -

تاریخ انتشار 2011